<?php
/**
 * <https://y.st./>
 * Copyright © 2019 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Mushroms on a nearby island',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2019/07/15.jpg" alt="Abandoned bike wheel parts" class="framed-centred-image" width="800" height="480"/>
<section id="diet">
	<h2>Dietary intake</h2>
	<p>
		For breakfast, I had 69 grams of cereal and 100 grams of soy milk.
		For lunch, I had a 148-gram soft taco, and for dinner, I had a 254-gram one.
	</p>
	<p>
		Last night, when I was deciding what to make for dinner today, I found tiny tortillas I&apos;ve had in my freezer for years.
		If I recall, I bought them around the time I moved in, but I can&apos;t for the life of me figure out what my plan for them had been.
		So now, I&apos;ll be making small soft tacos for the next week or so.
		I also have a lot of salsa that I stocked up when I prepared for my vasectomy so I wouldn&apos;t have to go shopping, and I&apos;ve got a bunch of rice and dry beans because people keep leaving them at the take-what-you-want table in the complex&apos;s laundry room.
		I don&apos;t use the beans as much as I should because dry beans are a bit of a pain to work with, as you have to have enough foresight to soak them overnight, and I don&apos;t really eat rice very often either.
		All three work well on the tacos though, and cooking cumin into the rice and beans makes them even better.
		Maybe I should pick up some veggie crumbles for them as well on my next shopping trip.
	</p>
</section>
<section id="drudgery">
	<h2>Drudgery</h2>
	<p>
		My discussion posts for the day:
	</p>
	<blockquote>
		<p>
			The importance of understanding classes varies by the language.
			In Java, the only thing you can really define are classes.
			You can&apos;t define functions directly, and instead have to define class methods.
			You can&apos;t define normal variables, and instead need to define either class properties, parameters, or variables that exist only within the scope of a given method.
			And of course, those methods are part of a class, so without classes, you don&apos;t have those variables either.
			You don&apos;t even have a main program space in Java.
			Instead, you have to define a method (called <code>main()</code>) which Java will call when it goes to run your program.
			Without classes, you have absolutely nothing in Java, which means that without understanding classes, you have no understanding of the underlying structure of the code in a Java program, and not only don&apos;t really know how it works, but also can&apos;t hope to accomplish any task with anything even resembling ease.
		</p>
		<p>
			In some other languages, classes are far less vital, and programming without them is not only possible, but common.
			In these languages, understanding classes can help you make your code more modular and reusable, easier to read, and better-organised.
			You can get by without this knowledge in these languages, but your code will be less clean and harder to maintain.
			(Of course, there are also languages that don&apos;t include the concept of a class at all, but we skip over those because it&apos;s not possible to discuss the importance of understanding classes in a language that doesn&apos;t support them.)
		</p>
	</blockquote>
	<blockquote>
		<p>
			I like the way you phrased your response.
			Methods do indeed define behaviour, while properties instead define state.
			As you said, properties can also define characteristics instead of state, when you&apos;ve got multiple objects of the same class, each given different but unchanging property values.
			They&apos;re a bit versatile in how they can be used.
			In addition, properties are the only variables that can be seen from outside a single method in Java, as there are no global variables to speak of, so they have to be shoehorned into other roles as well, such as storing values that need to be publicly accessible.
			That said, in Java, the best practice is to encapsulate such properties using getter and setter methods.
		</p>
	</blockquote>
</section>
<section id="Minetest">
	<h2>Minetest</h2>
	<img src="/img/CC_BY-SA_3.0/minetest.net./weblog/2019/07/15.png" alt="Tunnelling through the mountain" class="framed-centred-image" width="1024" height="600"/>
	<p>
		I made the optimisations in <code>minestats</code> that I needed in order to pull off the unified level idea from yesterday, and have added functions to the $a[API] to make those optimisations actually meaningful.
		I think that <code>minestats</code> is ready to go now, but I&apos;m going to hold off on a release until I&apos;ve had more time to test it.
		I started a new mod, Minetest $a[RPG], to actually implement the features I discussed yesterday.
		For now, it only displays a player&apos;s level in their $a[HUD], as I didn&apos;t really have time to get any more than that done.
		I&apos;ll get the increased inventory size coded at some point though.
		I&apos;d also potentially like to provide other advantages to levelling up as well, such as increased maximum health, though those other advantages will likely happen less often.
		Perhaps one heart (2 $a[HP]) will be added for every sixteen levels or something of that nature.
	</p>
	<p>
		While watching the videos for my coursework, I ground away all my sandstone, getting me all the way to level thirteen.
		More importantly though, I&apos;ve freed up nearly a chest worth of storage space by clearing out all that sandstone.
	</p>
	<p>
		I tunnelled through the mountain and set up a sign and fence marking the end of the road, though it seems my next goal will be to extend the path in that direction a little further.
		To debug what I&apos;d done in the Minetest $a[RPG] mod, I duplicated the world and granted myself all the permissions in the duplicate.
		I did some flying around, and I located mushrooms of both varieties on a nearby island, so I&apos;d like to build my bridge out that far, then take a path off the bridge (a sort of mini bridge branching off the main one) to pick some up.
		I&apos;ve really wanted to do some mushroom farming, but with the changes made to Minetest Game, the mushrooms of World&apos;s Navel disappeared, so I wasn&apos;t sure where to get any.
		If I recall, World&apos;s Navel only had red mushrooms though, while this island has both varieties.
		I&apos;ll need a name for the island before I start work there though.
		And I&apos;m not sure exactly what to do with that island besides gather up the three or four mushrooms it has along with all of its sand.
		I don&apos;t feel right just stripping an island of all its resources without at least dignifying it with a name though, and then cleaning up the island to make it look nice even without the resources I took.
		The island won&apos;t miss the mushrooms really, but it&apos;ll look terrible without the sand unless I move the dirt around a bit and maybe even haul in some silver sand from my mine.
		Aside from checking mushrooms off my shopping list, my I thought next step to progress was to find a bunch of mese to build my rails with.
		I haven&apos;t found even a single mese crystal yet, and I&apos;ve gotten pretty far down.
		Once I had rails, my main goal would be to extend my bridge out (in either direction; it doesn&apos;t matter which) until I could locate a jungle and get jungle grass from which to farm cotton.
		Other resources I find along the way may be helpful as well, jungle grass would be the main target.
		I suppose to make actual use of the cotton, I&apos;d also need roses to make dye from, as beds in Minetest are always red and must be made from red and white cotton.
		By the end of the day though, I&apos;d decided the rails and even the cotton were largely unnecessary for the time being.
	</p>
	<p>
		While I was at work, I realised I really don&apos;t want to sit and place nodes down and pick them up again hoping for drops.
		It worked well while I was watching those videos for school, as that kept me distracted, but most of the time, that would have drained the fun from the game.
		But at the same time, I don&apos;t want to just abandon those nodes, as I may one day actually need to grind for some reason.
		It&apos;d be a pain to walk all over the map, visiting all my past settlements, to get all those node back, especially as I wouldn&apos;t be able to carry them all at once and would need to take countless trips.
		I&apos;ve come up with a better idea: a central repository for that type of node near World&apos;s Navel.
		It&apos;s central map location makes it a perfect candidate for this sort of thing, though I&apos;ll probably put it off-centre, somewhere in the ocean around the island.
		Close enough though.
		I&apos;d like to have one chest near the entryway, which will (eventually) contain a stack of each type of leaf, a stack of grass, a stack of jungle grass, and if I ever have a full stack of them I don&apos;t need, a stack of each type of mushroom spore.
		With the chest&apos;s space mostly unused, I might add a stack of snow blocks to make better use of the saplings dropped by the pine needles, as well as a stack of each of the self-replicating plants.
		These will act as emergency supplies, in case something somehow goes wrong.
		Deeper in though, I&apos;ll have two vaults, under the sea floor.
		One will contain stacks of sandstone and gravel that I don&apos;t want to bother farming drops from.
		The other will contain leaves, seeds, saplings, and grasses with drops that I don&apos;t want to bother farming drops from.
		I feel like the stuff in the second chamber is stuff I shouldn&apos;t throw out, but at the same time, the nature of these things is that the more you use them, the more they multiply.
		I literally can&apos;t farm them down to nothing, and if I need to farm these drops, I&apos;ll probably just do it with the plants I have on hand, as it&apos;d be more productive due to the added plant parts I&apos;ll get, such as logs and, in the case of seeds, further drops.
		The first chamber&apos;s contents on the other hand are things I should keep on hand just in case.
		Both chambers will be expanded downward into the earth as I require more and more space.
	</p>
	<p>
		Also, I don&apos;t really know why I&apos;ve been so anxious to get off the island.
		I really want to get started on mushroom farming, as the sooner I get started, the sooner I can grow my farm out large.
		I didn&apos;t think I could get mushroom spores until venturing out quite a ways though, I guess.
		Once I have those in hand though, I think I&apos;ll be more comfortable just staying put for a while.
		Who even needs a jungle and cotton with which to make a bed and set up a new home?
	</p>
</section>
END
);
